Skip to content

Add net11.0 target framework - #1303

Open
fdcastel wants to merge 1 commit into
FirebirdSQL:masterfrom
fdcastel:net11-target
Open

fdcastel wants to merge 1 commit into
FirebirdSQL:masterfrom
fdcastel:net11-target

Conversation

@fdcastel

@fdcastel fdcastel commented Nov 7, 2026

Copy link
Copy Markdown
Member

Part of #1302.

Summary

Adds a net11.0 target framework to the provider, and runs the provider tests on both net10.0 and net11.0.

Changes

  • FirebirdSql.Data.FirebirdClient.csproj: net11.0 added to TargetFrameworks. No Microsoft.Extensions.Logging.Abstractions package reference is needed for net11.0, because on .NET 11 that assembly is part of the Microsoft.NETCore.App shared framework (it is in the 11.0.0-rc.3 reference pack). The net11.0 dependency group of the built nuspec is therefore empty.
  • FirebirdSql.Data.FirebirdClient.Tests.csproj: targets net10.0;net11.0, so TFM-specific code is tested on both.
  • tests.ps1: copies the Firebird binaries into, and runs the FirebirdClient suites from, both test outputs.
  • ci.yml: installs the .NET 11 SDK with dotnet-quality: preview. Today that resolves to 11.0.100-rc.3.26522.148, which the .NET download page labels a "go live" release.

Note: CI builds with the preview SDK

With the .NET 11 SDK installed, it is the newest SDK on the runner, so CI builds the whole solution with it: the provider's net8.0/net9.0/net10.0 targets, EF Core, EF6 and the tools. The log shows NETSDK1057: You are using a preview version of .NET for each project.

If you prefer to keep building with the .NET 10 SDK until 11.0 GA, a global.json can pin it, or this PR can wait for GA. After GA, dotnet-quality: preview should be removed.

Tests

No product code changes. The whole suite runs on both TFMs:

  • Local embedded + NoServer runs: net10.0 599 passed and net11.0 599 passed, 0 failed (plus the 11 inconclusive and 2 explicit that master also has).
  • CI (fork run 42377407719, 24/24 jobs passed): tests.ps1 runs each FirebirdClient suite once per TFM. The log of the FB50 Default/Compression/CryptRequired job shows FirebirdClient tests (net10.0) and (net11.0), each with 648 passed and 0 failed.

- Provider: add net11.0 to TargetFrameworks. No Microsoft.Extensions.Logging.Abstractions
  package reference is needed for net11.0: the assembly ships in the .NET 11 shared
  framework, and NuGet prunes the reference (the nuspec net11.0 group is empty).
- Tests: multi-target FirebirdSql.Data.FirebirdClient.Tests to net10.0;net11.0 so
  TFM-specific code paths are exercised on both.
- tests.ps1: copy the Firebird binaries into, and run the FirebirdClient suites
  from, every provider test TFM output.
- CI: install the .NET 11 SDK (preview quality until 11.0 GA).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant